using ORS.OrderRobot.ServiceContracts.Dtos;

namespace ORS.OrderRobot.ServiceContracts
{
    /// <summary>
    /// 管理员服务接口
    /// </summary>
    public interface IAdminService
    {
        /// <summary>
        /// 管理员登录
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <returns>登录结果</returns>
        Task<AdminLoginResult> LoginAsync(string username, string password);

        /// <summary>
        /// 创建管理员
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <param name="role">角色</param>
        /// <returns>创建结果</returns>
        Task<AdminCreateResult> CreateAdminAsync(string username, string password, string role = "User");

        /// <summary>
        /// 获取管理员信息
        /// </summary>
        /// <param name="id">管理员ID</param>
        /// <returns>管理员信息</returns>
        Task<AdminDto?> GetAdminAsync(int id);
    }
} 